macro(add_dalton_test _name _labels)
    add_test(
        ${_name}
        ${CMAKE_SOURCE_DIR}/DALTON/test/TEST -dalton ${CMAKE_BINARY_DIR}/dalton -log /dev/null -result-directory ${CMAKE_BINARY_DIR}/test_${_name} ${_name}
        )
    if(NOT "${_labels}" STREQUAL "")
        set_tests_properties(${_name} PROPERTIES LABELS "${_labels}")
    endif()
endmacro()

macro(add_dalton_runtest _name _labels)
    add_test(
        ${_name}
        python3 ${CMAKE_SOURCE_DIR}/DALTON/test/${_name}/test --binary-dir=${PROJECT_BINARY_DIR} --work-dir=${PROJECT_BINARY_DIR}/test/${_name} --verbose --log=${PROJECT_BINARY_DIR}/test/${_name}/runtest.stderr.log)
    if(NOT "${_labels}" STREQUAL "")
        set_tests_properties(${_name} PROPERTIES LABELS "${_labels}")
    endif()
endmacro()

# v2 of runtest does not have any --log functionality
macro(add_dalton_runtest_v2 _name _labels)
    add_test(
        ${_name}
        python3 ${CMAKE_SOURCE_DIR}/DALTON/test/${_name}/test --binary-dir=${PROJECT_BINARY_DIR} --work-dir=${PROJECT_BINARY_DIR}/test/${_name} --verbose)
    if(NOT "${_labels}" STREQUAL "")
        set_tests_properties(${_name} PROPERTIES LABELS "${_labels}")
    endif()
endmacro()


# all tests here should contain the label "dalton", except benchmark and very slow tests.

# Label based on run on szabo GitLab runner
# short < 10 seconds
# medium < 60 seconds
# long < 120 seconds
# verylong > 120 seconds

# NEVER comment out tests, this will bite you in future in a terrible way
# also to minimize conflict release/master use the existing variables to distinguish
# tests which are run only on master

add_dalton_runtest(dft_ac_grac                   "dalton;runtest;dft;short")
add_dalton_runtest(dft_ac_multpole               "dalton;runtest;dft;medium")
add_dalton_runtest_v2(dft_b3lyp_cart             "dalton;runtest;dft;short")
add_dalton_runtest(dft_b3lyp_magsus_nosym        "dalton;runtest;dft;short")
add_dalton_runtest(dft_b3lyp_molhes_nosym        "dalton;runtest;dft;short")
add_dalton_runtest(dft_b3lyp_nosym               "dalton;runtest;dft;short")
add_dalton_runtest(dft_b3lyp_sym                 "dalton;runtest;dft;short")
add_dalton_runtest(dft_blyp_nosym                "dalton;runtest;dft;short")
add_dalton_runtest(dft_blyp_sym                  "dalton;runtest;dft;short")
add_dalton_runtest(dft_camb3lyp                  "dalton;runtest;dft;short;essential")
add_dalton_runtest(dft_camb3lyp_magsus           "dalton;runtest;dft;short")
add_dalton_runtest(dft_camb3lyp_molgrad          "dalton;runtest;dft;short;essential")
add_dalton_runtest(dft_cr_sym                    "dalton;runtest;dft;medium")
add_dalton_runtest(dft_disp_d2                   "dalton;runtest;dft;short")
add_dalton_runtest(dft_disp_d3                   "dalton;runtest;dft;short")
add_dalton_runtest(dft_disp_d3bj                 "dalton;runtest;dft;short;essential")
add_dalton_runtest(dft_energy_sym                "dalton;runtest;dft;short")
add_dalton_runtest(dft_hcth120                   "dalton;runtest;dft;short")
add_dalton_runtest(dft_lb94                      "dalton;runtest;dft;short")
add_dalton_runtest(dft_lda_cart                  "dalton;runtest;dft;short")
add_dalton_runtest(dft_lda_nosym                 "dalton;runtest;dft;short")
add_dalton_runtest(dft_lda_sym                   "dalton;runtest;dft;short")
add_dalton_runtest(dft_lda_molhes_nosym          "dalton;runtest;dft;short")
add_dalton_runtest(dft_open_b3lyp                "dalton;runtest;dft;short")
add_dalton_runtest(dft_open_lr                   "dalton;runtest;dft;short")
add_dalton_runtest(dft_optimize                  "dalton;runtest;dft;short")
add_dalton_runtest(dft_pbe                       "dalton;runtest;dft;short;essential")
add_dalton_runtest(dft_rpbe                      "dalton;runtest;dft;short;essential")
add_dalton_runtest(dft_polar                     "dalton;runtest;dft;short")
add_dalton_runtest(dft_properties_sym            "dalton;runtest;dft;medium")
add_dalton_runtest(dft_properties_nosym          "dalton;runtest;dft;medium")
add_dalton_runtest(dft_rspexci                   "dalton;runtest;dft;short")
add_dalton_runtest(dft_qr                        "dalton;runtest;dft;medium")
add_dalton_runtest(dft_qr_qlop                   "dalton;runtest;dft;short")
add_dalton_runtest(dft_stex                      "dalton;runtest;dft;multistep;verylong")
add_dalton_runtest(dft_hsrohf                    "dalton;runtest;dft;short;essential")
add_dalton_runtest(dft_spin_local                "dalton;runtest;dft;medium")
add_dalton_runtest(tddft_tda                     "dalton;runtest;dft;short")

add_dalton_runtest(walk_solvmag                  "dalton;runtest;walk;medium")
add_dalton_runtest(walk_vibave                   "dalton;runtest;walk;medium")
add_dalton_test(walk_vibave2                     "dalton;walk;short")
add_dalton_test(walk_gradex                      "dalton;walk;essential")
add_dalton_test(walk_image                       "dalton;walk;short")
add_dalton_test(walk_modeflw                     "dalton;walk;short")
add_dalton_test(walk_polar                       "dalton;walk;short")
add_dalton_test(walk_polar2                      "dalton;serial;walk;medium")

if(ENABLE_GEN1INT)
    add_dalton_runtest(gen1int_fluorobenzene     "dalton;runtest;gen1int;medium")
    add_dalton_runtest(gen1int_water             "dalton;runtest;gen1int;short")
    add_dalton_runtest(hf_cube                   "dalton;runtest;gen1int;essential")
endif()

add_dalton_runtest(energy_fcktra                 "dalton;runtest;energy;short;essential")
add_dalton_runtest(energy_restart                "dalton;runtest;energy;multistep;short")
add_dalton_runtest(energy_restart_scf            "dalton;runtest;energy;multistep;short;essential")
add_dalton_runtest(energy_symm                   "dalton;runtest;energy;short;essential")
add_dalton_runtest(energy_zmat                   "dalton;runtest;energy;short")
add_dalton_runtest(energy_stex                   "dalton;runtest;energy;multistep;short")
add_dalton_runtest(energy_corehole               "dalton;runtest;energy;multistep;short")
add_dalton_test(energy_direct                    "dalton;energy;short;essential")
add_dalton_test(energy_direct_eri                "dalton;energy;short;essential")
add_dalton_test(energy_douglaskroll              "dalton;energy;short;essential")
add_dalton_test(energy_nosymm                    "dalton;energy;short")
add_dalton_test(energy_nevpt2_gs                 "dalton;energy;short;essential")
add_dalton_test(energy_nevpt2_ex                 "dalton;energy;medium")
add_dalton_test(energy_hsrohf                    "dalton;energy;short")
add_dalton_test(energy_hsrohf_qc                 "dalton;energy;short;essential")
add_dalton_test(energy_lucita_gasci              "dalton;energy;short;essential")
add_dalton_test(energy_scsmp2                    "dalton;energy;short;essential")
add_dalton_test(energy_localize_selected         "dalton;energy;short;essential")
add_dalton_test(energy_solv                      "dalton;energy;medium")

add_dalton_test(geoopt_cartsad                   "dalton;geo;short")
add_dalton_test(geoopt_cartsad2                  "dalton;geo;short")
add_dalton_test(geoopt_constrain1a               "dalton;geo;short;essential")
add_dalton_test(geoopt_constrain1b               "dalton;geo;short")
add_dalton_test(geoopt_delintsad                 "dalton;geo;short")
add_dalton_test(geoopt_delintmin                 "dalton;geo;medium")
add_dalton_test(geoopt_exci                      "dalton;serial;geo;medium")
add_dalton_test(geoopt_exci2                     "dalton;serial;geo;short")
add_dalton_runtest(geoopt_numgrd                 "dalton;runtest;geo;short")
add_dalton_test(geoopt_preopt                    "dalton;geo;short;essential")
add_dalton_runtest(geoopt_preopt2                "dalton;runtest;geo;medium")
add_dalton_test(geoopt_prop                      "dalton;geo;short;essential")
add_dalton_test(geoopt_prop2                     "dalton;geo;short")
add_dalton_test(geoopt_prop3                     "dalton;serial;geo;medium")
add_dalton_runtest_v2(geoopt_prop3_ex            "dalton;runtest;geo;long")
add_dalton_test(geoopt_redintmin                 "dalton;geo;short")
add_dalton_test(geoopt_redintsad                 "dalton;geo;short")
add_dalton_test(geoopt_vrml                      "dalton;geo;short;essential")
add_dalton_test(geoopt_cartmin                   "dalton;geo;medium")
add_dalton_test(geoopt_dckerr                    "dalton;serial;geo;medium")
add_dalton_runtest(geoopt_mp2froz                "dalton;serial;runtest;geo;medium")
add_dalton_test(geoopt_symbrk                    "dalton;geo;medium")
add_dalton_runtest(geoopt_freeze                 "dalton;runtest;geo;short;essential")

add_dalton_runtest(aba_prop_file                 "dalton;runtest;prop;short;essential")
add_dalton_runtest(prop_ecd                      "dalton;runtest;prop;short")
add_dalton_runtest(prop_exci                     "dalton;serial;runtest;prop;short")
add_dalton_runtest(prop_lanczos_aosoppa          "dalton;serial;runtest;prop;aosoppa;short")
add_dalton_runtest(prop_nolondon                 "dalton;serial;runtest;prop;short;essential")
add_dalton_runtest(prop_spinspin1                "dalton;serial;runtest;prop;short")
add_dalton_runtest(prop_spinspin2                "dalton;serial;runtest;prop;short")
add_dalton_runtest(prop_spinspin3                "dalton;serial;runtest;prop;short")
add_dalton_runtest(prop_spinspin4                "dalton;serial;runtest;prop;short")
add_dalton_runtest(prop_spinspin5                "dalton;serial;runtest;prop;short")
add_dalton_runtest(prop_socvir                   "dalton;serial;runtest;prop;short") 
add_dalton_runtest(prop_vibvcd                   "dalton;runtest;prop;short")
add_dalton_runtest(prop_ctocd                    "dalton;runtest;prop;short;essential")
add_dalton_runtest(prop_soppactocd               "dalton;serial;runtest;prop;soppa;short;essential")
add_dalton_runtest(prop_newtrasoppa              "dalton;serial;runtest;prop;soppa;short")
add_dalton_runtest(prop_newtrasoppacc            "dalton;serial;runtest;prop;soppa;short")
add_dalton_runtest(prop_newtramcscf              "dalton;serial;runtest;prop;short")
add_dalton_runtest(prop_vibg1                    "dalton;serial;runtest;prop;short;essential")
add_dalton_runtest(prop_vibg2                    "dalton;serial;runtest;prop;short;essential")
add_dalton_runtest(prop_cpp_ecd                  "dalton;runtest;prop;short")
add_dalton_runtest(prop_lresc                    "dalton;runtest;prop;short")
add_dalton_runtest(prop_lresc_efg                "dalton;runtest;prop;short")
add_dalton_runtest(prop_nolondon_soppacc         "dalton;serial;runtest;prop;soppa;short")
add_dalton_runtest(prop_soppa_vibavg_twobas      "dalton;serial;runtest;prop;soppa;long")
add_dalton_runtest(prop_exci_ao                  "dalton;serial;runtest;prop;aosoppa;short")
add_dalton_runtest(prop_exci_aorpa               "dalton;serial;runtest;prop;aosoppa;short;essential")
add_dalton_runtest(prop_exci_aorpa_trip          "dalton;serial;runtest;prop;aosoppa;short;essential")
add_dalton_runtest(prop_exci_aohrpa_sing         "dalton;runtest;prop;aosoppa;short;essential")
add_dalton_runtest(prop_exci_aohrpa_trip         "dalton;runtest;prop;aosoppa;short;essential")
add_dalton_runtest(prop_exci_aosoppa_sing        "dalton;runtest;prop;aosoppa;short")
add_dalton_runtest(prop_exci_aosoppa_trip        "dalton;runtest;prop;aosoppa;short;essential")
add_dalton_runtest(prop_exci_aosoppa_trip_direct "dalton;runtest;prop;aosoppa;short")
add_dalton_runtest(prop_exci_aorpad              "dalton;runtest;prop;aosoppa;short;essential")
add_dalton_runtest(prop_exci_aorpad_trip         "dalton;runtest;prop;aosoppa;short;essential")
add_dalton_runtest(prop_exci_aohrpad             "dalton;runtest;prop;aosoppa;short")
add_dalton_runtest(prop_exci_aoshrpad            "dalton;runtest;prop;aosoppa;short")
add_dalton_runtest(prop_exci_aosoppa             "dalton;runtest;prop;aosoppa;short")
add_dalton_runtest(prop_exci_aotoppa             "dalton;runtest;prop;aosoppa;short")
add_dalton_runtest(prop_exci_aosoppcc            "dalton;runtest;prop;aosoppa;short")
add_dalton_runtest(prop_exci_aosoc_trip          "dalton;runtest;prop;aosoppa;short")
add_dalton_runtest(prop_exci_aosopcc2_sing       "dalton;serial;runtest;prop;aosoppa;short;essential")
add_dalton_runtest(prop_exci_aorpa_direct        "dalton;runtest;prop;aosoppa;short")
add_dalton_runtest(prop_exci_aosopcc_direct      "dalton;runtest;prop;aosoppa;short")
add_dalton_runtest(prop_alpha_aorpa              "dalton;runtest;prop;aosoppa;short;essential")
add_dalton_runtest(prop_alpha_aosoppa            "dalton;runtest;prop;aosoppa;short")
add_dalton_runtest(prop_alpha_aotoppa            "dalton;runtest;prop;aosoppa;short")
add_dalton_runtest(rsp_dipvel_aosoppa            "dalton;runtest;prop;aosoppa;short")
add_dalton_runtest(prop_spinspin_aosoppa         "dalton;runtest;prop;aosoppa;medium")
add_dalton_runtest(prop_spinspin_aotoppa         "dalton;runtest;prop;aosoppa;medium")

add_dalton_runtest(prop_vibana                   "dalton;runtest;prop;long")
add_dalton_runtest(prop_expgrad                  "dalton;runtest;prop;dft;short")
add_dalton_runtest(prop_nucquad                  "dalton;serial;runtest;prop;short")
add_dalton_runtest(prop_roa                      "dalton;runtest;prop;long")
add_dalton_test(prop_exci_morpa_trip             "dalton;prop;short;essential")

add_dalton_runtest(rsp_cpp_mcd                   "dalton;runtest;rsp;dft;short")
add_dalton_runtest(rsp_cpp_nscd                  "dalton;runtest;rsp;dft;short")
add_dalton_runtest(rsp_cpp_mchd                  "dalton;runtest;rsp;short")
add_dalton_test(rsp_cpph                         "dalton;rsp;medium")
add_dalton_runtest(rsp_cpp_2ndhyperpolar         "dalton;runtest;rsp;short;essential")
add_dalton_runtest(rsp_cpp_veloci                "dalton;runtest;rsp;medium")
add_dalton_runtest(rsp_polar                     "dalton;runtest;rsp;short;essential")
add_dalton_runtest(rsp_quadrupole_polar          "dalton;runtest;rsp;short;essential")
add_dalton_runtest(rsp_hyperpolar                "dalton;serial;rsp;short")
add_dalton_runtest(rsp_hyperpolar_oit            "dalton;serial;rsp;short")
add_dalton_runtest(rsp_2ndharm                   "dalton;serial;runtest;rsp;short;essential")
add_dalton_runtest(rsp_3rdharm                   "dalton;serial;runtest;rsp;short;essential")
add_dalton_runtest(rsp_3rdmom                    "dalton;serial;runtest;rsp;short;essential")
add_dalton_runtest(rsp_lrso                      "dalton;serial;runtest;rsp;short")
add_dalton_test(rsp_lrso2                        "dalton;serial;rsp;short;essential")
add_dalton_test(rsp_dresqr                       "dalton;serial;rsp;short;essential")
add_dalton_test(rsp_ecp                          "dalton;rsp;short;essential")
add_dalton_test(rsp_exci_cmfun                   "dalton;serial;rsp;short;essential")
add_dalton_test(rsp_excipolar                    "dalton;serial;rsp;medium")
add_dalton_test(rsp_excipolar2                   "dalton;serial;rsp;short;essential")
add_dalton_runtest(rsp_exsm                      "dalton;rsp;short")
add_dalton_test(rsp_mcdbterm                     "dalton;serial;rsp;short;essential")
add_dalton_runtest_v2(rsp_mnf                    "dalton;runtest;serial;rsp;short;essential")
add_dalton_test(rsp_phosph                       "dalton;serial;rsp;short;essential")
add_dalton_test(rsp_propave                      "dalton;rsp;short;essential")
add_dalton_test(rsp_socorr                       "dalton;rsp;short;essential")
add_dalton_test(rsp_socorr2                      "dalton;rsp;short;essential")
add_dalton_test(rsp_socorr3                      "dalton;rsp;short;essential")
add_dalton_test(rsp_socorr_dir                   "dalton;rsp;short;essential")
add_dalton_test(rsp_socorr2_dir                  "dalton;rsp;short;essential")
add_dalton_test(rsp_socorr3_dir                  "dalton;rsp;short;essential")
add_dalton_runtest(rsp_sosingci                  "dalton;serial;rsp;short;essential")
add_dalton_runtest(rsp_sosingorb                 "dalton;serial;rsp;short;essential")
add_dalton_runtest(rsp_sotripci                  "dalton;serial;rsp;short;essential")
add_dalton_runtest(rsp_sotriporb                 "dalton;serial;rsp;short;essential")
add_dalton_test(rsp_solvhyper                    "dalton;rsp;short")
add_dalton_runtest(rsp_soppa1excinosymm          "dalton;runtest;rsp;soppa;short;essential")
add_dalton_test(rsp_soppa1excisymm               "dalton;rsp;soppa;short;essential")
add_dalton_test(rsp_soppa3excinosymm             "dalton;rsp;soppa;short;essential")
add_dalton_test(rsp_soppa3excisymm               "dalton;rsp;soppa;short;essential")
add_dalton_test(rsp_soppafcnosymm                "dalton;rsp;soppa;short;essential")
add_dalton_test(rsp_soppafcsymm                  "dalton;rsp;soppa;short;essential")
add_dalton_test(rsp_soppapolar                   "dalton;rsp;soppa;short;essential")
add_dalton_test(rsp_soppapolarnosymm             "dalton;rsp;soppa;short")
add_dalton_test(rsp_soppapolarsymm               "dalton;rsp;soppa;short;essential")
add_dalton_test(rsp_soppaccexci                  "dalton;rsp;soppa;short;essential")
add_dalton_test(rsp_soppaccpolar                 "dalton;rsp;soppa;short;essential")
add_dalton_test(rsp_sreslrso                     "dalton;serial;rsp;short;essential")
add_dalton_test(rsp_sresqr                       "dalton;serial;rsp;short;essential")
add_dalton_test(rsp_ctocdhyper                   "dalton;rsp;short;essential")
add_dalton_runtest(rsp_hfc                       "dalton;runtest;rsp;dft;short")
add_dalton_runtest(rsp_fullhfc                   "dalton;runtest;rsp;dft;short")
add_dalton_test(rsp_zfs                          "dalton;rsp;short;essential")
add_dalton_test(rsp_zfs_mc                       "dalton;serial;rsp;short;essential")
add_dalton_runtest_v2(rsp_zfs_mc2                "dalton;serial;runtest;rsp;mcscf;medium")
add_dalton_runtest(rsp_absorp                    "dalton;runtest;rsp;short")
add_dalton_test(rsp_prop_file                    "dalton;rsp;short;essential")
add_dalton_test(rsp_rpa_cis                      "dalton;rsp;short;essential")
add_dalton_test(rsp_g_rohf                       "dalton;rsp;short;essential")
add_dalton_test(rsp_g_rohf_dir                   "dalton;rsp;short;essential")
add_dalton_runtest(rsp_g_cas                     "dalton;serial;runtest;rsp;short")
add_dalton_test(rsp_g_rohf_ecc                   "dalton;rsp;short")
add_dalton_runtest(rsp_g_rohfx                   "dalton;runtest;rsp;multistep;short;essential")
add_dalton_runtest(rsp_g_rohfx_hs                "dalton;runtest;rsp;short;essential")
add_dalton_runtest(rsp_g_rohfx_direct            "dalton;runtest;rsp;short;essential")
add_dalton_runtest(rsp_g_rohfx_direcths          "dalton;runtest;rsp;short;essential")
if ("${CPP}" STREQUAL "-DDISABLE_XC_RESPONSE_SANITY_CHECK")
    add_dalton_runtest(rsp_g_kshfx                   "dalton;runtest;rsp;multistep;short")
    add_dalton_runtest(rsp_g_kshfx_dir               "dalton;runtest;rsp;multistep;short")
endif()
add_dalton_runtest(rsp_g_ldax                    "dalton;serial;runtest;rsp;dft;multistep;short")
add_dalton_runtest(rsp_g_b3lypx                  "dalton;serial;runtest;rsp;dft;multistep;medium")
add_dalton_runtest(rsp_abslrs                    "dalton;runtest;rsp;medium")
add_dalton_runtest(rsp_rohf_lr                   "dalton;runtest;rsp;short")
add_dalton_test(rsp_dckerr                       "dalton;serial;rsp;short")
add_dalton_runtest(rsp_esr                       "dalton;runtest;rsp;short")
add_dalton_runtest(rsp_esr2                      "dalton;runtest;rsp;verylong")
add_dalton_test(rsp_solvesr                      "dalton;serial;rsp;medium")
add_dalton_test(rsp_mnfphosph                    "dalton;serial;rsp;medium")
add_dalton_test(rsp_ecphosph                     "dalton;serial;rsp;medium")
add_dalton_test(rsp_twophot                      "dalton;rsp;medium")
add_dalton_runtest(rsp_soestm                    "dalton;rsp;short")

add_dalton_runtest(qmmm1_short                   "dalton;runtest;qmmm;short;essential")
add_dalton_runtest(qmmm1                         "dalton;runtest;qmmm;short")
add_dalton_runtest(qmmm2                         "dalton;runtest;qmmm;short")
add_dalton_runtest(qmmm3                         "dalton;runtest;qmmm;medium")
add_dalton_runtest(qmmm4                         "dalton;runtest;qmmm;short")
add_dalton_runtest(qmmm5                         "dalton;runtest;qmmm;short")
add_dalton_runtest(qmmm6                         "dalton;runtest;qmmm;medium")
add_dalton_runtest(qmmm7                         "dalton;runtest;qmmm;short")

add_dalton_runtest(qm3pcm_1                      "dalton;runtest;qm3;pcm;medium")
add_dalton_runtest(hfmm_1                        "dalton;runtest;qm3;short;essential")
add_dalton_runtest(hfmmpcm_1                     "dalton;runtest;qm3;short")
add_dalton_runtest(dftmm_1                       "dalton;runtest;qm3;short")
add_dalton_runtest(dftmm_2                       "dalton;runtest;qm3;short")
add_dalton_runtest(dftmm_3                       "dalton;runtest;qm3;short")
add_dalton_runtest(dftmm_4                       "dalton;runtest;qm3;short")
add_dalton_runtest(dftmm_5                       "dalton;runtest;qm3;short")
add_dalton_runtest(dftmm_6                       "dalton;runtest;qm3;short")
add_dalton_runtest(dftmm_7                       "dalton;runtest;qm3;short")
add_dalton_runtest(dftmm_8                       "dalton;runtest;qm3;short")
add_dalton_runtest(dftmm_9                       "dalton;runtest;qm3;short")
add_dalton_runtest(ccmm_beta                     "dalton;serial;runtest;qm3;medium")
add_dalton_runtest(cc2mm_spc_fop                 "dalton;serial;qm3;short;essential")
add_dalton_runtest(cc2mm_exci                    "dalton;serial;qm3;short;essential")
add_dalton_runtest(cc2mm_atmvdw                  "dalton;serial;qm3;short")
add_dalton_runtest(cc2mm_lr_qr                   "dalton;serial;qm3;medium")
add_dalton_runtest(cc2mm_spc_exci                "dalton;serial;qm3;short")
add_dalton_test(ccsdmm_spc_fop                   "dalton;serial;qm3;short")
add_dalton_test(ccsdmm_oldtg                     "dalton;serial;qm3;short")
add_dalton_test(ccsdmm_ec1_fop                   "dalton;serial;qm3;short")
add_dalton_test(ccsdmm_ec3_fop                   "dalton;serial;qm3;short")
add_dalton_test(ccsdmm_e01_fop                   "dalton;serial;qm3;short")
add_dalton_test(ccsdmm_modelmix                  "dalton;serial;qm3;medium")
add_dalton_test(ccsdmm_twopar_vdw                "dalton;serial;qm3;medium")

add_dalton_test(cc_exgr_prop                     "dalton;serial;cc;short;essential")
add_dalton_test(cc_fop_drw2e                     "dalton;serial;cc;short;essential")
add_dalton_test(cc_fop_prop                      "dalton;serial;cc;short;essential")
add_dalton_test(cc_fop_prop2                     "dalton;serial;cc;short;essential")
add_dalton_test(cc_fop_prop3                     "dalton;serial;cc;short")
add_dalton_test(cc_fop_prop4                     "dalton;serial;cc;short")
add_dalton_test(cc_fop_freeze                    "dalton;serial;cc;short")
add_dalton_test(cc_fop_cc3                       "dalton;serial;cc;cc3;short;essential")
add_dalton_test(cc_energy_field                  "dalton;serial;cc;short;essential")
add_dalton_test(cc_energy_triples                "dalton;serial;cc;short;essential")
add_dalton_test(cc_energy_triplesdirect          "dalton;serial;cc;short")
add_dalton_test(cc_energy_triplesdirect2         "dalton;serial;cc;short")
add_dalton_test(cc_energy_triplesdirect3         "dalton;serial;cc;short")
add_dalton_test(cc_energy_triplet                "dalton;serial;cc;medium")
add_dalton_test(cc_energy_triplet2               "dalton;serial;cc;medium")
add_dalton_test(cc_energy_triplet3               "dalton;serial;cc;medium")
add_dalton_runtest(cc_energy_triplet_left        "dalton;serial;runtest;cc;short;essential")
add_dalton_runtest(cc_energy_triplet_left_nosym  "dalton;serial;runtest;cc;short")
add_dalton_runtest(cc_eomxopa_singlet            "dalton;serial;runtest;cc;medium")
add_dalton_runtest(cc_eomxopa_singlet_nosym      "dalton;serial;runtest;cc;medium")
add_dalton_runtest(cc_eomxopa_triplet            "dalton;serial;runtest;cc;medium")
add_dalton_runtest(cc_eomxopa_triplet_nosym      "dalton;serial;runtest;cc;medium")
add_dalton_runtest(cc_exci_cvs                   "dalton;serial;runtest;cc;short;essential")
add_dalton_test(cc_grad                          "dalton;serial;cc;short;essential")
add_dalton_test(cc_grad2                         "dalton;serial;cc;short")
add_dalton_test(cc_grad3                         "dalton;serial;cc;medium")
add_dalton_test(cc_grad_ccpt_hf                  "dalton;serial;cc;short;essential")
add_dalton_test(cc_geoopt                        "dalton;serial;cc;geo;short")
add_dalton_test(cc_geoopt2                       "dalton;serial;cc;geo;long")
add_dalton_test(cc_geoopt_mp2                    "dalton;serial;cc;geo;short")
add_dalton_test(cc_geopt_ccpt_hf                 "dalton;serial;cc;geo;short")
add_dalton_test(cc_geopt_ccpt_h2o                "dalton;serial;cc;geo;short")
add_dalton_test(cc_prop_file                     "dalton;serial;cc;short")
add_dalton_test(cc_drpa_dipole_h2o               "dalton;serial;cc;short")
add_dalton_test(cc_drpa_grad                     "dalton;serial;cc;short;essential")
add_dalton_test(cc_drpa_grad_ch4                 "dalton;serial;cc;long")
add_dalton_test(cc_rsp_ctocd                     "dalton;serial;cc;medium")
add_dalton_test(cc_rsp_lanczos_alpha             "dalton;serial;cc;medium")
add_dalton_test(cc_rsp_alpha                     "dalton;serial;cc;medium")
add_dalton_test(cc_rsp_alpha2                    "dalton;serial;cc;short")
add_dalton_test(cc_rsp_oddisp                    "dalton;serial;cc;medium")
add_dalton_test(cc_rsp_solv                      "dalton;serial;cc;medium")
add_dalton_test(cc_rsp_beta                      "dalton;serial;cc;medium")
add_dalton_test(cc_rsp_beta2                     "dalton;serial;cc;medium")
add_dalton_test(cc_rsp_betafreq                  "dalton;serial;cc;medium")
add_dalton_test(cc_rsp_betafreq2                 "dalton;serial;cc;medium")
add_dalton_test(cc_rsp_excipolar                 "dalton;serial;cc;short")
add_dalton_test(cc_rsp_exci                      "dalton;serial;cc;short")
add_dalton_test(cc_rsp_gamma                     "dalton;serial;cc;short;essential")
add_dalton_test(cc_rsp_gamma2                    "dalton;serial;cc;medium")
add_dalton_test(cc_rsp_gamma3                    "dalton;serial;cc;short;essential")
add_dalton_test(cc_rsp_gammafreq                 "dalton;serial;cc;short")
add_dalton_test(cc_rsp_gammafreq2                "dalton;serial;cc;short;essential")
add_dalton_test(cc_rsp_gammadirect               "dalton;serial;cc;medium")
add_dalton_test(cc_rsp_mcdbterm                  "dalton;serial;cc;short;essential")
add_dalton_test(cc_rsp_threephot                 "dalton;serial;cc;medium")
add_dalton_test(cc_rsp_twophot                   "dalton;serial;cc;medium")
add_dalton_test(cc_rsp_twophot2                  "dalton;serial;cc;medium")
add_dalton_test(cc_rsp_twophot5                  "dalton;serial;cc;medium")
add_dalton_test(cc_rsp_twophotb                  "dalton;serial;cc;short")
add_dalton_test(cc_rsp_twophotdirect             "dalton;serial;cc;medium")
add_dalton_runtest(cc_rsp_sumrules               "dalton;serial;runtest;cc;short")
add_dalton_runtest(cc2dc_energy                  "dalton;serial;runtest;cc;short")
add_dalton_runtest(cc2dc_resp                    "dalton;serial;runtest;cc;medium")
add_dalton_runtest(cc2dc_exci                    "dalton;serial;runtest;cc;short")
add_dalton_runtest(cc2dc_resp_newlr              "dalton;serial;runtest;cc;medium")
add_dalton_runtest(cc_beta_solv                  "dalton;serial;runtest;cc;medium")
add_dalton_runtest(newcc3_h2o                    "dalton;serial;cc;runtest;medium")
add_dalton_runtest(newccsdpt_h2o                 "dalton;serial;cc;runtest;short;essential")
add_dalton_test(ccr3_exci                        "dalton;serial;cc;short;essential")

add_dalton_test(cc3_LIH1s1p_pol                  "dalton;serial;cc;cc3;medium")
add_dalton_test(cc3_LIH1s1p_asym_pol             "dalton;serial;cc;cc3;medium")
add_dalton_test(cc3_CARBON_pol                   "dalton;serial;cc;cc3;short;essential")
add_dalton_test(cc3_CARBON_asym_pol              "dalton;serial;cc;cc3;short")
add_dalton_test(cc3_LIH1s1p_tmom                 "dalton;serial;cc;cc3;medium")
add_dalton_test(cc3_LIH1s1p_tmom_no2np1          "dalton;serial;cc;cc3;medium")
add_dalton_test(cc3_HF_631G_pol                  "dalton;serial;cc;cc3;short")
add_dalton_test(cc3_HF_631G_asym_pol             "dalton;serial;cc;cc3;medium")
add_dalton_test(cc3_LIH_431G_tmom                "dalton;serial;cc;cc3;medium")
add_dalton_test(cc3_LIH_431G_tmom_no2np1         "dalton;serial;cc;cc3;medium")
add_dalton_test(cc3_HF_ccpVDZ_pol                "dalton;serial;cc;cc3;medium")
add_dalton_test(cc3_HF_ccpVDZ_asym_pol           "dalton;serial;cc;cc3;medium")
add_dalton_test(cc3_HF_ccpVDZ_tmom               "dalton;serial;cc;cc3;medium")
add_dalton_test(cc3_HF_ccpVDZ_tmom_no2np1        "dalton;serial;cc;cc3;medium")
add_dalton_test(cc3_hyp_HF631g                   "dalton;serial;cc;cc3;medium")
add_dalton_test(cc3_twophot3                     "dalton;serial;cc;cc3;medium")
add_dalton_test(cc3_h2o_resid                    "dalton;serial;cc;cc3;medium")
add_dalton_test(cc3_LIH_431G_cauchy_12           "dalton;serial;cc;cc3;medium")
add_dalton_test(cc3_HF_631G_2hyp                 "dalton;serial;cc;cc3;verylong")
add_dalton_test(cc3_findiff                      "dalton;serial;cc;cc3;medium")
add_dalton_test(cc3_h2o_resid_noddy              "dalton;serial;cc;cc3;long")
add_dalton_test(cc3_HF_631G_2hyp_noddy           "dalton;serial;cc;cc3;verylong")
add_dalton_test(cc3_hyp                          "dalton;serial;cc;cc3;medium")
add_dalton_test(cc3_LIH1s1p_noddy_pol            "dalton;serial;cc;cc3;verylong")
add_dalton_test(cc3_tmom_fdif                    "dalton;serial;cc;cc3;medium")
add_dalton_test(cc3_twophot3_noddy               "dalton;serial;cc;cc3;medium")

add_dalton_runtest(choles_b3lyp_polar            "dalton;serial;cholesky;dft;runtest;medium")
add_dalton_test(choles_cc2_fop                   "dalton;serial;cholesky;short;essential")
add_dalton_test(choles_hf_magnet                 "dalton;serial;cholesky;short")
add_dalton_runtest(choles_kt3_ctocd              "dalton;serial;runtest;cholesky;dft;medium")
add_dalton_runtest(choles_lda_prop               "dalton;serial;runtest;cholesky;dft;medium")
add_dalton_test(choact_mp2_energy                "dalton;serial;cholesky;short")
add_dalton_runtest(choles_cc2_exci               "dalton;serial;runtest;cholesky;short")
add_dalton_runtest(choles_cc2_excdiis            "dalton;serial;runtest;cholesky;short")
add_dalton_test(choles_cc2_polar                 "dalton;serial;cholesky;medium")
add_dalton_test(choles_ccsdpt_energy             "dalton;serial;cholesky;medium")

add_dalton_runtest(mp3_energy                    "dalton;serial;mp3;runtest;short;essential")
add_dalton_runtest(mp3_energy_sym                "dalton;serial;mp3;runtest;short")
add_dalton_runtest(mp3_energy_nofc               "dalton;serial;mp3;runtest;short")
add_dalton_runtest(mp3_energy_sym_nofc           "dalton;serial;mp3;runtest;short;essential")

add_dalton_runtest(ghost_basis                   "dalton;runtest;essential")

if(ENABLE_PELIB)
    add_dalton_runtest(pehf_iter                     "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_direct                   "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_gspol                    "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_isopol                   "dalton;pelib;runtest;short;essential")
    add_dalton_runtest(pehf_zero                     "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_damp                     "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_restart                  "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_border                   "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_cube                     "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_amoeba                   "dalton;pelib;runtest;short;essential")
    add_dalton_runtest(pehsrohf_wft                  "dalton;pelib;runtest;short;essential")
    add_dalton_runtest(perohf_alpha                  "dalton;pelib;runtest;short;essential")
    add_dalton_runtest(pehf_1pa                      "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_2pa                      "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_2pa_lf                   "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_alpha                    "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_beta                     "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_cpp                      "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_nomb                     "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_lao                      "dalton;pelib;runtest;short;essential")
    add_dalton_runtest(pemcscf                       "dalton;serial;pelib;runtest;short")
    add_dalton_runtest(pemcsrdft                     "dalton;serial;pelib;runtest;short")
    add_dalton_runtest(pemcscf_triplet               "dalton;serial;pelib;runtest;short")
    add_dalton_runtest(pemcscf_gspol                 "dalton;pelib;runtest;short")
    add_dalton_runtest(pesoppa_excit                 "dalton;serial;pelib;runtest;short")
    add_dalton_runtest(peaosoppa_excit               "dalton;serial;pelib;runtest;short")
    add_dalton_runtest(pecc_cc2                      "dalton;serial;pelib;runtest;short;essential")
    add_dalton_runtest(pecc_ccsd                     "dalton;serial;pelib;runtest;short")
    add_dalton_runtest(pecc_ccr3                     "dalton;serial;pelib;runtest;medium")
    add_dalton_runtest(pecc_cvs                      "dalton;serial;pelib;runtest;short")
    add_dalton_runtest(pehf_mep                      "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_solvat                   "dalton;pelib;runtest;short;essential")
    add_dalton_runtest(pehf_molgrad                  "dalton;pelib;runtest;short;essential")
    add_dalton_runtest(pehf_geoopt                   "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_1pa_pp                   "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_fmm                      "dalton;pelib;runtest;short;essential")
    add_dalton_runtest(pehf_approximate_coupling     "dalton;pelib;runtest;short;essential")
    add_dalton_runtest(pehf_mic                      "dalton;pelib;runtest;short")

    add_dalton_runtest(pehf_iter_oldfield            "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_direct_oldfield          "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_gspol_oldfield           "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_isopol_oldfield          "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_zero_oldfield            "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_damp_oldfield            "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_restart_oldfield         "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_border_oldfield          "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_cube_oldfield            "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_amoeba_oldfield          "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_1pa_oldfield             "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_2pa_oldfield             "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_2pa_lf_oldfield          "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_alpha_oldfield           "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_beta_oldfield            "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_cpp_oldfield             "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_nomb_oldfield            "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_lao_oldfield             "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_mep_oldfield             "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_solvat_oldfield          "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_molgrad_oldfield         "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_geoopt_oldfield          "dalton;pelib;runtest;short")
    add_dalton_runtest(pehf_1pa_pp_oldfield          "dalton;pelib;runtest;short")
    if(ENABLE_PDE)
        add_dalton_runtest(pdehf_energy              "dalton;pelib;runtest;short;essential")
        add_dalton_runtest(pdehf_shield              "dalton;pelib;runtest;short;essential")
    endif()
endif()

if(ENABLE_QFITLIB)
    add_dalton_runtest(qfit_hf_transition_charges   "dalton;qfit;short;essential")
endif()

if(ENABLE_VPOTDAMP)
    add_dalton_runtest(qmcmm "dalton;runtest;qmcmm;short")
endif()

if(ENABLE_PCMSOLVER)
    add_dalton_runtest(extpcm "dalton;runtest;short")
    add_dalton_runtest(extpcm_lr_static "dalton;runtest;short;rsp")
    add_dalton_runtest(extpcm_lr_dynamic "dalton;runtest;short;rsp")
    add_dalton_runtest(extpcm_opa "dalton;runtest;short;rsp")
endif()

add_dalton_test(hfreqfromE                       "dalton;numder;short")
add_dalton_test(hfreqfromg                       "dalton;numder;short")
add_dalton_test(effgeom_fromE                    "dalton;numder;short")
add_dalton_test(effgeom_fromE2                   "dalton;numder;short;essential")
add_dalton_test(vibave_spinspin                  "dalton;numder;short")

add_dalton_test(r12_damped                       "dalton;serial;mp2r12;short")
add_dalton_test(r12_damped_herdir                "dalton;serial;mp2r12;medium")
add_dalton_test(r12_sym                          "dalton;serial;mp2r12;short")
add_dalton_test(r12_nosym                        "dalton;serial;mp2r12;short")
add_dalton_test(r12_fc_sym                       "dalton;serial;mp2r12;short")
add_dalton_test(r12_fc_nosym                     "dalton;serial;mp2r12;short")
add_dalton_test(r12_aux_sym                      "dalton;serial;mp2r12;short")
add_dalton_test(r12_aux_nosym                    "dalton;serial;mp2r12;medium")
add_dalton_test(r12_fc_aux_sym                   "dalton;serial;mp2r12;medium")
add_dalton_test(r12_fc_aux_nosym                 "dalton;serial;mp2r12;long")
add_dalton_test(r12_prop                         "dalton;serial;mp2r12;short;essential")
add_dalton_test(r12_prop_n2                      "dalton;serial;mp2r12;short;essential")
add_dalton_test(r12_prop_h2o                     "dalton;serial;mp2r12;short")
add_dalton_test(r12_loc                          "dalton;serial;mp2r12;medium")
add_dalton_test(r12_stg                          "dalton;serial;mp2r12;short")
add_dalton_test(r12_orb                          "dalton;serial;mp2r12;medium")
add_dalton_test(r12_cabs                         "dalton;serial;mp2r12;long")

add_dalton_test(cc2_r12_he                       "dalton;serial;ccr12;short;essential")
add_dalton_test(cc2_r12_he_a2                    "dalton;serial;ccr12;short;essential")
add_dalton_test(cc2_r12_aux2_bh                  "dalton;serial;ccr12;short")
add_dalton_test(cc2_r12_aux2_bh_sym              "dalton;serial;ccr12;short")
add_dalton_test(cc2_r12_aux_bh_a2                "dalton;serial;ccr12;medium")
add_dalton_test(cc2_r12_aux_bh_sym_a2            "dalton;serial;ccr12;medium")
add_dalton_test(cc2_r12_aux2_bh_a2               "dalton;serial;ccr12;short")
add_dalton_test(cc2_r12_aux2_bh_sym_a2           "dalton;serial;ccr12;short")
add_dalton_test(cc2_r12_aux2_bh_lhtr             "dalton;serial;ccr12;short")
add_dalton_test(cc2_r12_aux2_bh_sym_lhtr         "dalton;serial;ccr12;short")
add_dalton_test(cc2_r12_aux_ch4                  "dalton;serial;ccr12;verylong")
add_dalton_test(cc2_r12_aux_ch4_sym              "dalton;serial;ccr12;long")
add_dalton_test(cc2_r12_aux_ch4_lhtr             "dalton;serial;ccr12;verylong")
add_dalton_test(cc2_r12_aux_ch4_sym_lhtr         "dalton;serial;ccr12;long")
add_dalton_test(cc2_r12_aux_nh3_sym              "dalton;serial;ccr12;long")
add_dalton_test(cc2_r12_aux_nh3_sym_lhtr         "dalton;serial;ccr12;long")
add_dalton_test(cc2_r12_aux_ch4_fop              "dalton;serial;ccr12;long")
add_dalton_test(cc2_r12_aux_ch4_sym_fop          "dalton;serial;ccr12;medium")
add_dalton_test(cc2_r12_aux_h2o_fop              "dalton;serial;ccr12;short;essential")
add_dalton_test(cc2_r12_aux_h2o_sym_fop          "dalton;serial;ccr12;short")
add_dalton_test(cc2_r12_aux_ch4_lr               "dalton;serial;ccr12;verylong")
add_dalton_test(cc2_r12_aux_ch4_sym_lr           "dalton;serial;ccr12;medium")
add_dalton_test(cc2_r12_aux_ch4_sym_lr_nondir    "dalton;serial;ccr12;medium")
add_dalton_test(cc2_r12_aux_ch4_sym_nondir       "dalton;serial;ccr12;medium")
add_dalton_runtest(cc2_r12_aux_ch4_ff            "dalton;serial;runtest;ccr12;long")
add_dalton_runtest(cc2_r12_aux_ch4_ff2           "dalton;serial;runtest;ccr12;long")
add_dalton_test(cc2_r12_aux_ch4_sym_pol          "dalton;serial;ccr12;medium")
add_dalton_test(cc2_r12_aux_n2_gamma             "dalton;serial;ccr12;short;essential")
add_dalton_test(cc2_r12_aux_n2_gamma2            "dalton;serial;ccr12;short")
add_dalton_test(cc2_r12_aux_ne_gamma             "dalton;serial;ccr12;medium")
add_dalton_test(cc2_r12_aux_bh_a3                "dalton;serial;ccr12;medium")
add_dalton_test(cc2_r12_aux_bh_sym_a3            "dalton;serial;ccr12;medium")
add_dalton_test(cc2_r12_aux_ne                   "dalton;serial;ccr12;short")
add_dalton_test(cc2_r12_aux_ne_gamma2            "dalton;serial;ccr12;short")
add_dalton_test(cc2_r12_aux_h2o_a2               "dalton;serial;ccr12;medium")
add_dalton_test(cc2_r12_aux_h2o_sym_a2           "dalton;serial;ccr12;medium")
add_dalton_test(cc2_r12_aux_h2o_a3               "dalton;serial;ccr12;medium")
add_dalton_test(cc2_r12_aux_h2o_sym_a3           "dalton;serial;ccr12;medium")
add_dalton_test(cc2_r12_aux_ch4_sym_f12          "dalton;serial;ccr12;long")
add_dalton_test(cc2_r12_aux_ch4_sym_a3_f12       "dalton;serial;ccr12;verylong")
add_dalton_runtest(cc2_r12_aux_ch4_a2            "dalton;serial;runtest;ccr12;verylong")
add_dalton_test(cc2_r12_aux_ch4_a2_tight         "weekly;serial;ccr12;verylong")
add_dalton_runtest(cc2_r12_aux_ch4_sym_a2        "dalton;serial;runtest;ccr12;verylong")
add_dalton_test(cc2_r12_aux_ch4_sym_a2_tight     "weekly;serial;ccr12;verylong")
add_dalton_test(cc2_r12_aux_ch4_sym_a3           "dalton;serial;ccr12;verylong")
add_dalton_test(cc2_r12_aux_ch4_cbs1             "dalton;serial;ccr12;medium")
add_dalton_test(cc2_r12_aux_ch4_cbs2             "dalton;serial;ccr12;long")
add_dalton_test(cc2_r12_aux_ch4_cbs3             "dalton;serial;ccr12;medium")
add_dalton_test(cc2_r12_aux_ch4_cbs2a            "dalton;serial;ccr12;verylong")
add_dalton_test(cc2_r12_aux_benzene_sym_fop      "dalton;serial;ccr12;medium")
add_dalton_test(ccsdr12_bh_direct                "dalton;serial;ccr12;medium")
add_dalton_test(ccsdr12_n2_direct                "dalton;serial;ccr12;medium")
add_dalton_test(ccsdr12_bh                       "dalton;serial;ccr12;short")
add_dalton_test(ccsdr12_n2                       "dalton;serial;ccr12;medium")
add_dalton_test(ccsdr12pt_ne                     "dalton;serial;ccr12;short")
add_dalton_test(ccsdr12_n2_exc                   "dalton;serial;ccr12;medium")
add_dalton_test(ccsdr12_n2_sym_exc               "dalton;serial;ccr12;medium")
add_dalton_test(ccsdr12_n2_sym_exc_lhtr          "dalton;serial;ccr12;medium")
add_dalton_test(ccsdr12pt_ne_f12                 "dalton;serial;ccr12;short")
add_dalton_test(ccsdr12_n2_gamma                 "dalton;serial;ccr12;medium")
add_dalton_test(ccsdr12_n2_gamma2                "dalton;serial;ccr12;medium")
add_dalton_test(ccsdr12_h2o_gamma                "dalton;serial;ccr12;medium")
add_dalton_test(ccsdr12_h2o_gamma2               "dalton;serial;ccr12;medium")
add_dalton_runtest(ccsdr12_be                    "dalton;serial;runtest;ccr12;short")
add_dalton_runtest(cc3r12_n2_sym_exc             "dalton;serial;runtest;ccr12;cc3;verylong")
add_dalton_runtest(cc3r12_n2_sym_exc_lhtr        "dalton;serial;runtest;ccr12;cc3;verylong")
add_dalton_test(cc3r12_n2_sym_exc_tight          "weekly;serial;ccr12;cc3;verylong")
add_dalton_test(cc3r12_n2_sym_exc_lhtr_tight     "weekly;serial;ccr12;cc3;verylong")

add_dalton_test(dpt_hf                           "dalton;serial;dpt;short")
add_dalton_test(dpt_h2s                          "dalton;serial;dpt;short")
add_dalton_test(dpt_h2s_finm                     "dalton;serial;dpt;short")
add_dalton_test(dpt_h2s_finp                     "dalton;serial;dpt;short;essential")
add_dalton_test(dpt_hbr                          "dalton;serial;dpt;short")
add_dalton_test(dpt_hbr_finm                     "dalton;serial;dpt;short;essential")
add_dalton_test(dpt_hbr_finp                     "dalton;serial;dpt;short;essential")
add_dalton_test(dpt_h2s_ff                       "dalton;serial;dpt;short")

add_dalton_test(dcpt2                            "dalton;short")

add_dalton_runtest(pcm_bterm_sym                 "dalton;runtest;pcm;medium")
add_dalton_runtest(pcm_dipole                    "dalton;runtest;pcm;short")
add_dalton_runtest(pcm_polar                     "dalton;runtest;pcm;short")
add_dalton_runtest(pcm_ecd                       "dalton;runtest;pcm;long")
add_dalton_runtest(pcm_lf_hfnosym_linres         "dalton;runtest;pcm;short")
add_dalton_runtest(pcm_lf_dipole                 "dalton;runtest;pcm;short")
add_dalton_runtest(pcm_neq_exc_sym               "dalton;runtest;pcm;short")
add_dalton_runtest(pcm_or_hf                     "dalton;runtest;pcm;verylong")
add_dalton_runtest(pcm_excit                     "dalton;runtest;pcm;short")
add_dalton_runtest(pcm_shield_spin               "dalton;runtest;pcm;verylong")
add_dalton_runtest(pcm_tpa_sym                   "dalton;runtest;pcm;short")
add_dalton_runtest(pcm_trp_qr                    "dalton;runtest;pcm;short")
add_dalton_runtest(pcm_gamma                     "dalton;runtest;pcm;unknown")
add_dalton_runtest(pcm_mcscf                     "dalton;runtest;pcm;mcscf;short")
add_dalton_runtest(pcm_mcscf_nomp2               "dalton;runtest;pcm;mcscf;short")
add_dalton_runtest(pcm_soppa_excit               "dalton;serial;runtest;pcm;soppa;medium")
# pcm_soppa_excit gives wrong excitation energies in parallel

add_dalton_runtest(molden                        "dalton;runtest;short;essential")
add_dalton_runtest(single_input                  "dalton;runtest;short;essential")

add_dalton_runtest(fde_static-vemb_dipole_short  "dalton;serial;runtest;fde;short;essential")
add_dalton_runtest(fde_static-vemb_dipole_long   "dalton;serial;runtest;fde;verylong")

if (ENABLE_BENCHMARK)
    add_dalton_test(benchmark_eri_adz                "weekly;benchmark")
    add_dalton_test(benchmark_eri_adzs               "weekly;benchmark")
    add_dalton_test(benchmark_eri_atzs               "weekly;benchmark")
    add_dalton_test(benchmark_eri_r12                "weekly;benchmark")
    add_dalton_test(benchmark_eri_r12xl              "weekly;benchmark")
    add_dalton_test(benchmark_her_adz                "weekly;benchmark")
    add_dalton_test(benchmark_her_adzs               "weekly;benchmark")
    add_dalton_test(benchmark_her_atzs               "weekly;benchmark")
    add_dalton_test(benchmark_her_r12                "weekly;benchmark")
    add_dalton_test(benchmark_her_r12xl              "weekly;benchmark")
endif()

add_dalton_runtest(cino                          "dalton;runtest;short;essential")

# Mar 2015: extra tests on hjaaj-srdft branch
if (ENABLE_SRDFT) 
    add_dalton_test(energy_srpbe0_mp2                       "dalton;srdft;energy;short;parallel;essential")
    add_dalton_test(energy_srpbe_mp2                        "dalton;srdft;energy;short;parallel")
    add_dalton_test(energy_srpbe_nevpt2                     "dalton;srdft;energy;medium;parallel")
    add_dalton_test(energy_srpbe_nolr                       "dalton;srdft;energy;short;parallel;essential")
    add_dalton_runtest(energy_srlda_openshell               "dalton;srdft;runtest;energy;medium;parallel;essential")
    add_dalton_runtest(energy_srpbe_openshell               "dalton;srdft;runtest;energy;long;parallel;essential")
    add_dalton_runtest(energy_srTPSS_openshell              "dalton;srdft;runtest;energy;short;parallel")
    #add_dalton_runtest(energy_srhfxfac_H                    "dalton;srdft;rsp;runtest;parallel;essential")
    #add_dalton_runtest(energy_srhfxfac_H_nosym              "dalton;srdft;rsp;runtest;parallel;essential")
    add_dalton_runtest(energy_srhfxfac_Li                   "dalton;srdft;rsp;runtest;parallel;short;essential")
    add_dalton_runtest(energy_srhfxfac_Li_nosym             "dalton;srdft;rsp;runtest;parallel;short;essential")
    add_dalton_runtest(energy_lrcwpbe_openshell             "dalton;srdft;rsp;runtest;parallel;short;essential")
    add_dalton_runtest(energy_vwn5_openshell                "dalton;srdft;rsp;runtest;parallel;short;essential")
    add_dalton_runtest(rsp_srdft_triplet                    "dalton;srdft;rsp;runtest;parallel;short;essential")
    add_dalton_runtest(rsp_srdft_singlet                    "dalton;srdft;rsp;runtest;parallel;short;essential")
    add_dalton_runtest(rsp_srdft_fermi                      "dalton;srdft;rsp;runtest;parallel;short;essential")
    add_dalton_runtest(rsp_srdft_triplet_not_essential      "dalton;srdft;rsp;runtest;parallel;short")
    add_dalton_runtest(rsp_srdft_singlet_not_essential      "dalton;srdft;rsp;runtest;parallel;short")
    add_dalton_runtest(rsp_srdft_fermi_not_essential        "dalton;srdft;rsp;runtest;parallel;short")
    # The following tests seem to be unstable
    add_dalton_runtest(rsp_srpbe_polar                      "dalton;srdft;rsp;short;parallel")
    add_dalton_runtest(energy_srpbe_state2                  "dalton;srdft;runtest;energy;medium;parallel")
endif()

# MCSCF with LUCITA is not currently working /hjaaj 20-Mar-2020; test disabled
# add_dalton_test(energy_lucita_mc_corehole     "dalton;energy;short;multistep")
